約 6,447,687 件
https://w.atwiki.jp/android/pages/32.html
概要 UIを持たないがライフサイクルが通常より長いアプリケーション。 mp3プレイヤーのバックエンドなどに適している。 作成手順 aidlを書く 他のJavaソースファイルと同じ位置に IHogeService.aidl を作成する。中身はこんな感じ package jp.hoge.HogePackage; interface IHogeService{ int getPid(); } インタフェースの実装クラスを書く API Demos のサンプルコードを参照 AndroidManifest.xml にサービスを定義する manifest xmlns android="http //schemas.android.com/apk/res/android" package="jp.hoge.HogePackage" application service class=".HogeService" android process=" remote" / android process=" remote" をつけると別プロセスで動くようになる。 利点とかはまだよくわからない。 呼び出し側を書く private Intent mServiceIntent = null; private IHogeService mService = null; private boolean mBound = false; private ServiceConnection mConnection = new ServiceConnection(){ // サービスと接続した public void onServiceConnected(ComponentName className, IBinder service){ mService = IHogeService.Stub.asInterface(service); mBound = true; try{ Log.d("Hoge","service connected. pid="+mService.getPid()); }catch(DeadObjectException e){} } // サービスと切断した public void onServiceDisconnected(ComponentName className){ Log.d("Hoge","service disconnected."); mService = null; mBound = false; } }; private void bindIRCService(){ if( mServiceIntent == null ) mServiceIntent = new Intent(this,HogeService.class); // サービスを開始して android.content.ComponentName cn = startService(mServiceIntent, null); // 普通にバインド可能か? boolean r = bindService (mServiceIntent,null,mConnection,0); Log.d("Hoge","bind service.."+(r?"OK" "NG")); } private void unbindIRCService(boolean bStop){ if( mBound ){ mBound = false; unbindService(mConnection); Log.d("Hoge","unbind service."); } if( bStop ) stopService(mServiceIntent); } private void killIRCService(){ if( mService == null ) return; try { Process.killProcess(mService.getPid()); }catch (DeadObjectException ex){ mService = null; Log.d("Hoge","killService DeadObjectException"); } } サービスとの連携 サービスがバルーンやダイアログを出したい場合はNotificationManagerを使う。 Activityがサービスからの通知を受け取りたい場合は IntentReceiver を使う?(未確認) システムが提供するサービス Context.getSystemService(String name)を使って、システムが提供するサービスを利用できる。 Context.WINDOW_SERVICE ("window") The top-level window manager in which you can place custom windows. The returned object is a ViewManager. Context.INFLATE_SERVICE ("inflate") A ViewInflate for inflating layout resources in this context. Context.POWER_SERVICE ("power") A PowerManager for controlling power management. Context.ALARM_SERVICE ("alarm") AlarmManagerは指定したタイミングでIntentを送る。 Context.NOTIFICATION_SERVICE ("notification") NotificationManagerはバックグラウンドのイベントをユーザに通知できるようにする。 Context.KEYGUARD_SERVICE ("keyguard") A KeyguardManager for controlling keyguard. Context.LOCATION_SERVICE ("location") A LocationManager for controlling location (e.g., GPS) updates.
https://w.atwiki.jp/androp/pages/13.html
@wikiへようこそ ウィキはみんなで気軽にホームページ編集できるツールです。 このページは自由に編集することができます。 メールで送られてきたパスワードを用いてログインすることで、各種変更(サイト名、トップページ、メンバー管理、サイドページ、デザイン、ページ管理、等)することができます まずはこちらをご覧ください。 @wikiの基本操作 用途別のオススメ機能紹介 @wikiの設定/管理 分からないことは? @wiki ご利用ガイド よくある質問 無料で会員登録できるSNS内の@wiki助け合いコミュニティ @wiki更新情報 @wikiへのお問合せフォーム 等をご活用ください @wiki助け合いコミュニティの掲示板スレッド一覧 #atfb_bbs_list その他お勧めサービスについて 大容量1G、PHP/CGI、MySQL、FTPが使える無料ホームページは@PAGES 無料ブログ作成は@WORDをご利用ください 2ch型の無料掲示板は@chsをご利用ください フォーラム型の無料掲示板は@bbをご利用ください お絵かき掲示板は@paintをご利用ください その他の無料掲示板は@bbsをご利用ください 無料ソーシャルプロフィールサービス @flabo(アットフラボ) おすすめ機能 気になるニュースをチェック 関連するブログ一覧を表示 その他にもいろいろな機能満載!! @wikiプラグイン @wiki便利ツール @wiki構文 @wikiプラグイン一覧 まとめサイト作成支援ツール バグ・不具合を見つけたら? 要望がある場合は? お手数ですが、メールでお問い合わせください。
https://w.atwiki.jp/droid/pages/38.html
スケジューラー Refills for Android(有料) https //market.android.com/details?id=jp.co.fsi.refills ジョルテ(無料) https //market.android.com/details?id=jp.co.johospace.jorte
https://w.atwiki.jp/droid/pages/36.html
LiveWallpaper(ライブ壁紙) verlay Skin(無料) https //market.android.com/details?id=com.moegoto.overlay.skin 影の国のアリス [ハロウィン](無料・有料) https //market.android.com/details?id=milk.palette.plus.alice.halloween.free Midnight Scene LITE(無料) https //market.android.com/details?id=mma.wallpaper.midnight.lite
https://w.atwiki.jp/androidmattari/
ようこそ このwikiはAndroidの機種やアプリのまとめwikiです。 適当にまたーり更新していきます。 作者はHTML初心者の為サイトが見難い思いますが、今後改善していくのでそこの所はご了承お願いします。m(_ _)m
https://w.atwiki.jp/yyyooo/pages/18.html
NDKとは? AndroidはDM仮想マシン上でFrameworkを通じてしかアクセスできなかった NDKだとネイティブ(機械語)だから直接にアクセスできる Androidでデバッグ __android_log_print OpenCV Javaが良い?C++ネイティブが良い? Java側でもネイティブで実装されてるので基本的には速度は変わらない むしろJNICALLでオーバーヘッド生じる でも、JavaのOpenCVはなんか使いにくい(慣れてないだけだけど)から、当分ネイティブで実装する
https://w.atwiki.jp/android/pages/41.html
Android 開発者ツールボックス はじめに「アプリケーションの開発」を読んでいるなら、あなたはAndroidアプリケーションを構築する方法を知っています。(もし読んでないならそのセクションを読んでください) アンドロイドは大きなシステムです。しかし多くを学ばないといけない。 最高のアプリは、常にシステムの特徴を最大限に活用します。 下のリンクはシステムを思い通りにコードを書く方法があります。 そして、イカしたカスタムメイドのコンポーネントをつくって、多くの利用できるAPIで驚くべきことができます。 設計思想 このマニフェストはAndroid開発者が役に立つとわかる技術的な哲学と展望を説明しています。このページを読むことによって、組み込みデバイス(例えば携帯電話)で機能することができて、システム外の部品で遊びながらうまくアプリケーションを記述する方法を学びます。 カスタムコンポーネントの作成? カスタムAndroidコンポーネント(例えばViews?、Services?とContent Providers?)をつくる方法を説明します。読めば、すぐに効率的で、役に立つ見事な部品を作成することができます。あなたのアプリケーションをすばらしくするために使うことができますし、他のアプリケーションと共有することができます。 オプショナルAPI? オプションのAndroid構成要素(例えばGPSとBlueTooth)のアクセスを提供するAPIをについて記述します。AndroidはこれまでのOS以上を目指しています。そして、システムはあなたが電話で望むことができたすべての特徴をサポートします。このセクションは、Location-Based Services(例えばGPS、コンパス、その他)、OpenGL 3Dグラフィックス、BlueToothと加速度計を使う方法をあなたに示します。このセクションで記述されるAPIのすべてがオプションであることに注意すべきです。あなたのアプリケーションが本当にこれらのAPIのうちの1つを必要とするならば、あなたは特徴が所定の電話で存在しないならば、それが作法として失敗するはずです。 Google APIとサービス? 多くのAndroidデバイス上にインストールされるGoogleサービスにアクセスするためのAPIを使用する方法を記述しています。
https://w.atwiki.jp/hmiku/pages/20449.html
【登録タグ A miki rockaa 曲】 作詞:rockaa 作曲:rockaa 編曲:rockaa 唄:miki 曲紹介 戦う為に造られたんだ・・・ 歌詞 (ピアプロより転載) 戦う為に造られたんだ 人工知能の戦闘兵器 傷ついても痛みは無いよ 最強無敵のアンドロイドさ 自由の為に旗を掲げる だから僕だって共に戦う 理由なんて、わからないけど それが僕に与えられた使命さ ねえ、勝利の果てには しあわせが待ってるの? 傷つけ合う事なんかに どんな意味があるのかな? 誰も答えなんて わからずに銃を構え 戦う為に造られたんだ 人工知能の戦闘兵器 傷ついても痛みは無いよ 最強無敵のアンドロイドさ この地で仲間達が 何人も散っていった もう抗う力は 残されていなかった やがて幕は降りた 敗北という結末で そして僕の最後の使命 プログラムの起動の合図 その時、僕は全てを知った カウントダウンが始まったんだ 戦う為に造られたんだ 人工知能の戦闘兵器 命尽きても悲しくないよ それが運命とわかってるから 戦う為に造られたんだ 自由の為に旗を掲げる 理由なんて、わからないけど 命尽きても悲しくないよ 人工知能の戦闘兵器さ ねえ、誰か教えてよ 僕、名前なんだっけ? ねえ... コメント 新曲かな?(今初めて聴いた)新しいPなのかな…頑張って下さいね(^^) -- MIKI可愛い(≧∇≦) (2013-03-03 17 05 22) 名前 コメント
https://w.atwiki.jp/android/pages/71.html
ノートパッド エクササイズ1 このエクササイズでは、簡単なノートリストを作ります。このノートリストはユーザーが新しいノートを追加することができますが、編集することはできません。 このエクササイズでは以下のデモンストレーションを行います。 リストアクティビティズの基本とメニューオプションの作成とハンドリング ノートを保存するためのSQLite データベースの使い方 SimpleCursolAdapterをつかって、database cursorからListViewにデータをバインドする方法 リスト画面の表示、メニューへのアイテムの追加、activity からメニューの選択をハンドリングする方法といった画面レイアウトの基本 ステップ 1 EclipseでNotepadv1 project を開いてください。 Notepadv1はスタート地点として提供されたプロジェクトです。 It takes care of some of the boilerplate work that you have already seen if you followed the Hello, World tutorial. メニューから File New Android Projectを実行して、新しいAndroidプロジェクトを開始します。 新しいアンドロイドプロジェクトのダイアログでは existing sourceからprojectを作成します。 あなたがコピーしたNotepadCodeLabの場所を探して、Notepadv1を選択し、Chooseボタンをクリックします。 Project nameにNotepadv1が表示されます。 そして、あなたが選択したパスがLocation に表示されます。 Finishをクリックします。The Notepadv1 project はあなたの Eclipse package explorerに開かれ表示されます。 AndroidManifest.xmlもしくは、Android zip ファイルに関する問題が発生した場合、プロジェクトを右クリックして、 Android Tools Fix Project Propertiesを選択してください。 (The project is looking in the wrong location for the library file, this will fix it for you.) ステップ 2 NotesDbAdapterクラスを見てください。— このクラスはSQLiteデータベースにアクセスする処理をカプセル化しています。このデータベースがノートのデータを持ち、更新を可能にします。 このクラスの上部では、このデータベースで使う正式なフィールド名からデータを見つけるために使用する、いくつかの定数を定義しています。 また、もしデータベースがなかった場合、新しいデータベースのスキーマをつくるための文字列も定義しています。 データベースは名前のデータを持ち、notesという一つのテーブルを持ちます。このテーブルには次の三つのフィールドを持ちます。_id, title, bodyです。 The _id is named with an underscore convention used in a number of places inside the Android SDK and helps keep a track of state. The _id usually has to be specified when querying or updating the database (in the column projections and so on). 他の二つのフィールドはデータを保持するためのシンプルなテキストフィールドです。 NotesDbAdapterのコンストラクタではAndroid OSと通信するために必要なコンテキストを取得します。 これはなんらかの方法でAndoroid Systemとやり取りするためのクラスにとって、大変一般的な形です。 Activity クラスは Context クラスを実装します。したがって、コンテキストが必要なときは通常Activityクラスのthisを渡すだけでです。 open() メソッドはDatabaseHelperクラスのインスタンスを呼びます。 DatabaseHelperは SQLiteOpenHelperクラスのローカルな実装です。 データベースを作成/オープンするためにgetWritableDatabase()メソッドを呼びます。 close()メソッドはデータベースをクローズして、接続に関係するリソースを開放します。 createNote() メソッドは新しいノートのタイトルと本文のための文字列を引数としてとります。そして、データベースにノートを作成します。 新しいノートが正しく作成されたとみなすと、このメソッドは新しく作られたノートの _id 行の値を返却します。 deleteNote() メソッドは特定のノートの rowIdを引数としてとり、データベースからそのノートを削除します。 原文
https://w.atwiki.jp/melodroid/pages/17.html
Armadillo-500 FX用開発環境構築 概略 Armadillo-500 FX上で動作するAndroidのビルド環境構築について記載する。 記載、および、動作確認には、cupcakeバージョンを対象としている。 バージョンによっては、不要な手順もある。 目次 Armadillo-500 FXについて 環境構築目標 ファイル取得 ファイル配置 カーネル修正 ユーザ空間修正 追加ファイル パス設定 ビルド方法 ビルドスクリプト ビルド生成物 未解決問題 検証中 Armadillo-500 FXについて Armadillo-500fxは、組込み向けの開発キットになる。 言い方を変えると、「高いおもちゃ」ということ。 仕様等の詳細は、公式となるAtmark Technoの紹介ページを見てください。 環境構築目標 Armadillo-500fx用の環境を作る上での目標をまとめておく。 テーマは、「手軽に、かっこよく」ってことで。 以下に、具体的な目的をまとめておく。 コマンドひとつで、カーネル+ユーザ層がビルドできるようにする eeepc701用のビルドで採用されているように、vendor配下を作ってみる 生成物を焼きやすい形にまとめるようにする いろいろ手順が簡単になるようにする ファイル取得 環境を作成する上で元となるソースの取得方法について記載する。 取得するソースは、2種類に分かれる。 AndroidのLinuxカーネル部分以外のソース Linuxカーネル部分のソース Androidのカーネル部分以外のソース いわゆる、Androidのソースと言われる部分。 いつからか、カーネルが同時に取得できなくなったので、カーネル以外と記載している。 (Armadillo-500fxでは、カーネルも構築する必要があるためである。) Android開発環境構築の手順の中で、ソース取得準備まで実施する ソース取得方法(repo)にあるように、repoコマンドでソースを取得するビルドできるバージョンを使うため、”repo init -u git //android.git.kernel.org/platform/manifest.git -b cupcake"等バージョン指定を実施する その後、"repo sync "を実施する Linuxカーネル部分のソース Linuxカーネルの部分を取得する。 この部分が主にハードウェア用のカスタマイズが必要な部分となる。 また、GPLライセンスに縛られているため、どこかで取得できる。 今回は、Armadillo-500fxが対象となるので、公式から取得する。 ブラウザ等で、Armadillo-500 FXダウンロードを開く Linuxカーネルを取得(確認当時、v2.6.26-at6 でした) ファイル配置 ダウンロードしたソースの配置について記載する。 以降の説明用には、この節で記載したフォルダ構成で記載する。 ”repo init”、"repo sync"を実行したフォルダを「cupcake」とする「cupcake」配下に、「bionic」、「framework」等のフォルダがあることになる ダウンロードしたカーネルファイルを展開する展開すると、「linux-2.6.26-at6」というフォルダができる 展開したフォルダの名称を「kernel」と変更する「kernel」配下に、「drivers」等のフォルダがあることになる 「cupcake」フォルダの中に、「kernel」フォルダを移動する「cupcake/framework/base」、「cupcake/kernel/drivers/usb」等の階層となる 注意事項階層の説明はわかりづらいかも・・。できたら、絵を追加したい。 取得バージョンによっては、例で示すフォルダが存在しない場合がある。 カーネル修正 ダウンロードしたカーネルファイルには、Android用の修正が適用されていない状態である。 その為、Android用の修正を実施するために、修正パッチの適用を実施する。 Android用パッチを取得するブラウザ等で、公式ファイルブラウザ内のandroid directoryを開く 「linux-2.6.26-at-android-tmp-081210.patch」をダウンロードする カーネルにパッチを適用するカーネルフォルダ(cupcake/kernel)内に、ダウンロードしたpatchを移動する 端末で、カーネルフォルダ(cupcake/kernel)内に移動する 端末で、「patch -p1 linux-2.6.26-at-android-tmp-081210.patch」を実施し、パッチを適用する ATDEを使用しない為、Makefileを一部修正する「cupcake/kernel/arch/arm/plat-mxc/sdma/Makefile」をテキストエディタで開く 「KBUILD_CFLAGS = -I$(KBUILD_SRC)/arch/arm/plat-mxc/sdma/iapi/include \」の行を修正する「 =」の部分を「+=」に変更する 注意事項patchの使い方は、うる覚え。試した人は結果ください(汗) Makefileの修正については、以下を参照ください。「Armadillo 04247」 「PATCH」 armadillo-500 make O= building ユーザ空間修正 Armadillo-500fxでのcupcake版ビルドで、ユーザ空間で必要な修正について記載する。 カーネル、Androidバージョンの組合せに依存して発生する。 他の組合せだと不要かもしれない。 Armadillo-500fxで動かす場合のcupcake版での問題点起動時、バッテリ状態が取得できない為、ローバッテリだと判断して、電源OFFしてしまう 対策方法(例:実際できないかも・・)電源管理アプリでダミー値で処理する framework層(java層)でダミー値を返す JNI層(Linuxアプリ層)でダミー値を返す カーネル層でダミー値を返す framework層とJNI層は、ほぼ同等で、java好きか、C++好きかになる。 ここでは、JNI層での修正方法を示す。 対象となるファイルをテキストエディタで開く”cupcake/frameworks/base/services/jni/com_android_server_BatteryService.cpp” バッテリ状態を返す関数の復帰値を変更するgetBatteryStatus()”gConstants.statusUnknown”を常に返すように変更 getBatteryHealth()”gConstants.healthUnknown”を常に返すように変更 readFromFile()bufに文字列”Unknown”(NULL終端付)を入れて、sizeを復帰値とした (bufの領域は、自分できちんと確認してね・・壊れてるかも) setBooleanField()関数readFromFile()をコールし、結果で判断するif処理を削除 変数valueを常にtrueに変更 (要するに、readFromFile()のコールを削除して、value固定化) setIntField()関数readFromFile()をコールし、結果で判断するif処理を削除 変数valueを常に1に変更 (要するに、readFromFile()のコールを削除して、value固定化) 注意事項上記修正は、重複もありそうだけど、良しとした。 JNI層での修正に関しては、EeePc porting - Instructions for last codebaseを参考にして実施。 framework層での修正は、Android 1.5 on Zaurusに修正差分がある。(試してないけど・・) 追加ファイル ビルド時に、”TARGET_PRODUCT=armadillo500fx_dev”等と指定する為、vendor配下に追加するファイルについて記載する。 他の機種(eee_701等)と合わせる為、以下の階層にファイルを作成する ”cupcake/vendor/atmarktechno/armadillo500fx_dev”(これじゃなくても良さそうだけど・・なんとなく・・) 格納するフォルダを作成する上記の”cupcake/vendor/atmarktechno/armadillo500fx_dev” 格納フォルダ内にファイルを作成するAndroid.mkAndroid版Makefileみたいなもの(呼ばれる順番不明)”git clone git //codeaurora.org/platform/vendor/qcom/qsd8250_surf.git”でサンプルを取得 上記取得ファイルの中のAndroid.mkをコピーコメントのみなので、不要である可能性有り AndroidBoard.mkAndroid版Makefileみたいなもの(呼ばれる順番不明)”git clone git //codeaurora.org/platform/vendor/qcom/qsd8250_surf.git”でサンプルを取得 上記取得ファイルの中のAndroidBoad.mkをコピー Armadillo-500 FX用に修正KERNEL_DEFCONFIGに指定するファイルを変更(qsd8650_defconfig→armadillo500fx_dev_android_defconfig) キーボードマップファイルの指定ファイルを変更(surf_keypad.kl→tuttle2.kl) (surf_keypad.kcm→tuttle2.kcm) ブート用のビルド設定を削除”include vendor/qcom/$(TARGET_PRODUCT)/boot/Android.mk”を削除 init.rcのコピー設定を追加”PRODUCT_COPY_FILES +=$(LOCAL_PATH)/init.rc root/init.rc”を追加 (正しいか不明) AndroidProducts.mkAndroid版Makefileみたいなもの(呼ばれる順番不明)”git clone git //codeaurora.org/platform/vendor/qcom/qsd8250_surf.git”でサンプルを取得 上記取得ファイルの中のAndroidProducts.mkをコピー Armadillo-500 FX用に修正(qsd8250_surf.mk→armadillo500fx_dev.mk) armadillo500fx_dev.mkAndroid版Makefileみたいなもの(呼ばれる順番不明)”git clone git //android.git.kernel.org/platform/vendor/htc/dream-open.git”でサンプルを取得 上記取得ファイルの中のhtc_dream.mkをコピー ファイル名を”armadillo500fx_dev.mk”へ変更 Armadillo-500 FX用に修正変数”PRODUCT_NAME”を変更(htc_dream→armadillo500fx_dev) 変数”PRODUCT_DEVICE”を変更(dream-open→armadillo500fx_dev) 変数”PRODUCT_MANUFACTURER”の記載を削除 BoardConfig.mkAndroid版Makefileみたいなもの(呼ばれる順番不明) デバイスに合わせてフラグ設定をまとめている?”git clone git //codeaurora.org/platform/vendor/qcom/qsd8250_surf.git”でサンプルを取得 上記取得ファイルの中のBoardConfig.mkを参考に作成するデバイス依存部の削除とブート関連記載の削除 (基本、genericで、カーネルビルドだけ付加した形かな) 以下がArmadillo-500 FX用の設定TARGET_NO_BOOTLOADER = true TARGET_NO_KERNEL = false(カーネルビルド用) TARGET_NO_RADIOIMAGE = true BOARD_USES_GENERIC_AUDIO = true USE_CAMERA_STUB = true TARGET_BOOTIMAGE_USE_EXT2 = true(たぶん、不要) TARGET_USERIMAGES_USE_EXT2 = true(たぶん、不要) init.rc起動時に、initから参照される設定ファイル initでのコマンド解釈ルールにより、動作する 必須ではない為、”.mk”内にコピー用の記載が必要。 デフォルトだと、"cupcake/system/core/rootdir"内のファイルになる?(要確認)同名ファイルが他に存在? (要確認)環境変数”TARGET_PROVIDES_INIT_RC”が影響?デフォルトファイルから、”yaffs2”の記載がある行を”#”でコメントアウトマウント設定、権限設定があるので、見直しの必要有り system.prop設定ファイル(よくわかっていない) 予想:特定用途のライブラリ、インタフェイスの設定"cupcake/build/target/board/generic"内からコピー tuttle2.kcmキーボードマップ関連(よくわかっていない)"cupcake/build/target/board/generic"内からコピー tuttle2.klキーボードマップ関連(よくわかっていない)"cupcake/build/target/board/generic"内からコピー カーネルをビルドする為に、"cupcake/kernel"配下にファイルを追加するAndroidKernel.mk”git clone git //codeaurora.org/kernel/msm.git”でサンプルを取得カーネル一式なので、重たいかも・・ AndroidKernel.mkをcupcake/kernel内にコピー サンプル2と3のサンプルを添付ファイルとしてアップ(armadillo_cust.tar.gz) ライセンスとか問題あったら、指摘してください 注意事項”.mk”の記載ルールがはっきりとわかっていない為、間違ってるかも 現状、不明なファイルについては、generic時に使用されるファイルを使用 当初、書込みファイル自体不明だった為、不要な設定も含まれているかも パス設定 Armadillo-500FXは、CPUがARMとなっている。 一方で、ビルドマシンとしては、x86を想定している。 上記のため、クロスコンパイラ用のパスを追加する必要がある。 その為のパス設定について記載する。 クロスコンパイラの場所cupcake/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/ cupcake/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin/ cupcake/prebuilt/linux-x86/toolchain/i686-unknown-linux-gnu-4.2.1/bin/ パス設定の追加"cupcake/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/”へのシンボリックリンクを作成する(以下、arm-eabi-4.2.1を作成したリンクとする)端末で、"ln -s"コマンドを使う 上記手順は不要な場合がある 端末上で、"PATH=$PATH arm-eabi-4.2.1"として、PATHへ追加する毎回書くのはめんどくさいので、.bashrc とか、ビルドスクリプトに入れると良い ビルド方法 ビルド方法を記載する。 端末で、”cupcake”フォルダまで、移動する "export TARGET_PRODUCT=armadillo500fx_dev"とコマンドを入力する "make"とコマンドを入力する ビルドスクリプト ビルドの為のスクリプトを紹介しておく ビルドの為の設定が面倒くさい為に作成した。 ”build_dev.sh”を作成名前はなんでも良い (あくまで、参考程度・・)パス設定を記載 環境設定を記載(例:"export TARGET_PRODUCT=armadillo500fx_dev") ビルドコマンドを記載(”make”等) 上記ファイルを作成すると、ビルドは以下の手順で良い 端末で、"cupcake"フォルダに移動する ". build_dev.sh"とコマンドを入力する ビルド生成物 上記ビルド構築環境でのビルド生成物について記載する ビルド生成物作成フォルダcupcake/out/target/product/armadillo500fx_dev Armadillo書込み対応ファイル/フォルダカーネルcupcake/out/target/product/armadillo500fx_dev/kernel(以降、$KERNEL) ユーザランドcupcake/out/target/product/armadillo500fx_dev/root(以降、$ROOT) cupcake/out/target/product/armadillo500fx_dev/system(以降、$SYSTEM) Armadillo-500 FXへの書込み$KERNELをhermit等でカーネル領域に書き込む ROMのユーザ領域には、Armadillo開発者サイトにあるAtmark Distユーザランドを書き込む Androidユーザ層を構築するローカルに"android"フォルダを作成する $ROOTのフォルダ/ファイルを”android”内にコピー $SYSTEMのフォルダ/ファイルを”android/system”内にコピー 構築したユーザ層をArmadillo-500 FXの/dev/sda1に書き込む/dev/sda1への書込みは、Armadillo開発者サイトを参照してください 注意事項構築するアプリ等に依存して、別途dataフォルダの考慮が必要になる 未解決問題 未解決な問題について記載する ビルド生成物の操作方法 ”chroot”を使わないArmadillo-500FXのAndroid起動方法 各種、環境変数の影響 キーマップファイルの効果 .mkファイル内のAndroid特有コマンド 何かあれば、書き込みます・・。 検証中 未解決問題の中で、今、検証中のものを記載する。 途中経過も書いていければいいな。 現状、検証中はありません。